﻿using Petroleum.DB.Model;
using Petroleum.DB.PetroleumModel;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Petroleum.Model
{
    /// <summary>
    /// Session(仿WbSession)
    /// </summary>
    public static class Session
    {
        #region ==项目基本信息==

        //public static string docspath = AppDomain.CurrentDomain.BaseDirectory+"";

        /// <summary>
        /// 项目ID
        /// </summary>
        public static string ProjectId { get; set; } = string.Empty;

        /// <summary>
        /// 项目名称
        /// </summary>
        public static string WellName { get; set; } = string.Empty;

        /// <summary>
        /// 模板路径
        /// </summary>
        public static string TemplateFile { get; set; } = string.Empty;

        #endregion


        /// <summary>
        /// Step1 井口信息
        /// </summary>
        public static BasicInf BasicInf { get; set; } = new BasicInf();

        /// <summary>
        /// Step2 地层压力预测
        /// </summary>
        public static FormationPressure FormationPressure { get; set; } = new FormationPressure();

        /// <summary>
        /// Step3 井眼轨迹设计 
        /// （核心数据）
        /// </summary>
        public static WellTrajectory WellTrajectory { get; set; } = new WellTrajectory();

        /// <summary>
        /// Step4  套管
        /// </summary>
        public static CasingProgram CasingProgram { get; set; } = new CasingProgram();

        /// <summary>
        /// 团队选择
        /// </summary>
        public static string Team { get; set; } = string.Empty;
        public static string DocRequirements { get; set; } = string.Empty;
        //Step4+的数据是井眼轨迹设置的靶点（3），以及固井质量要求 Step4的套管信息
        //Step7和Step7+是对Step4的套管数据进行深层次加工复制
        //Step9
        public static List<BitTypeDes> BitTypeDes { get; set; } = new List<BitTypeDes>();
        /// <summary>
        /// 进度计划
        /// </summary>
        public static List<ProgresPlan> ProgresPlanList { get; set; } = new List<ProgresPlan>();

        public static List<MPA> MPAList { get; set; } = new List<MPA>();
        public static List<MPADetail> MPADetailList { get; set; } = new List<MPADetail>();

        /// <summary>
        /// step7钻井液
        /// </summary>
        public static List<DepthRangeModel> DepthRangeModelList { get; set; } = new List<DepthRangeModel>();
        /// <summary>
        /// step8
        /// </summary>
        public static List<DeapthWell> DepthWellModelList { get; set; } = new List<DeapthWell>();
        /// <summary>
        /// step10
        /// </summary>
        public static HydraulicData Hydraulic = new HydraulicData();
        /// <summary>
        /// step13
        /// </summary>
        public static List<SlurryModel> slurries = new List<SlurryModel>();
    }
    public class SessionDynamic
    {

        #region ==项目基本信息==

        /// <summary>
        /// 项目ID
        /// </summary>
        public string ProjectId { get; set; } = string.Empty;

        /// <summary>
        /// 项目名称
        /// </summary>
        public string WellName { get; set; } = string.Empty;

        /// <summary>
        /// 模板路径
        /// </summary>
        public string TemplateFile { get; set; } = string.Empty;

        #endregion


        /// <summary>
        /// Step1 井口信息
        /// </summary>
        public BasicInf BasicInf { get; set; } = new BasicInf();

        /// <summary>
        /// Step2 地层压力预测
        /// </summary>
        public FormationPressure FormationPressure { get; set; } = new FormationPressure();

        /// <summary>
        /// Step3 井眼轨迹设计 
        /// （核心数据）
        /// </summary>
        public WellTrajectory WellTrajectory { get; set; } = new WellTrajectory();

        /// <summary>
        /// Step4  套管
        /// </summary>
        public CasingProgram CasingProgram { get; set; } = new CasingProgram();

        /// <summary>
        /// 团队选择
        /// </summary>
        public string Team { get; set; } = string.Empty;
        //Step4+的数据是井眼轨迹设置的靶点（3），以及固井质量要求 Step4的套管信息
        //Step7和Step7+是对Step4的套管数据进行深层次加工复制

        //Step9
        public List<BitTypeDes> BitTypeDes { get; set; } = new List<BitTypeDes>();

        /// <summary>
        /// 进度计划
        /// </summary>
        public List<ProgresPlan> ProgresPlanList { get; set; } = new List<ProgresPlan>();

        public List<MPA> MPAList { get; set; } = new List<MPA>();
        public  List<MPADetail> MPADetailList { get; set; } = new List<MPADetail>();


        public List<DepthRangeModel> DepthRangeModelList { get; set; } = new List<DepthRangeModel>();
        public List<DeapthWell> DepthWellModelList { get; set; } = new List<DeapthWell>();

        public  HydraulicData Hydraulic = new HydraulicData();
        public List<SlurryModel> slurries = new List<SlurryModel>();


    }
}
